package com.alameda.provider.media;

import com.alameda.media.api.AdMediaProvider;
import com.alameda.media.vo.AdMediaVO;
import com.alameda.service.media.AdMediaService;
import com.alameda.video.dto.ApVideoDTO;
import com.alameda.video.vo.ApVideoVO;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

/**
 * 媒体文件 同步接口层 具体实现
 *
 * @author Lv
 * @date 2024/07/20
 */
@DubboService
public class AdMediaProviderImpl implements AdMediaProvider {

    @Autowired
    private AdMediaService adMediaService;

    /**
     * 查询视频列表
     *
     * @param apVideoDTO 移动端视频信息
     * @return
     */
    @Override
    public List<ApVideoVO> loadVideo(ApVideoDTO apVideoDTO) {
        return adMediaService.loadVideo(apVideoDTO);
    }

    /**
     * 查询视频
     *
     * @param apVideoDTO 移动端视频信息
     * @return
     */
    @Override
    public ApVideoVO findById(ApVideoDTO apVideoDTO) {
        return adMediaService.findById(apVideoDTO);
    }

    /**
     * 读取视频文件信息
     *
     * @param idList 视频文件id集合
     * @return
     */
    @Override
    public List<AdMediaVO> findByVideoIdIn(List<Long> idList) {
        return adMediaService.findByVideoIdIn(idList);
    }

    /**
     * 查询视频
     *
     * @param apVideoDTO 移动端视频信息
     * @return
     */
    @Override
    public ApVideoVO findByVideoId(ApVideoDTO apVideoDTO) {
        return adMediaService.findById(apVideoDTO);
    }

    /**
     * 查询视频播放页面列表视频
     *
     * @param apVideoDTO 移动端视频信息
     * @return
     */
    @Override
    public List<ApVideoVO> findVideoDetailInfo(ApVideoDTO apVideoDTO) {
        return adMediaService.findVideoDetailInfo(apVideoDTO);
    }

    /**
     * 物理层面移除已逻辑删除文件
     *
     * @return
     */
    @Override
    public Boolean removeLogicDeletedFile() {
        return adMediaService.removeLogicDeletedFile();
    }

    /**
     * 物理层面删除已被替换文件封面
     *
     * @return
     */
    @Override
    public Boolean removeReplacedCover() {
        return adMediaService.removeReplacedCover();
    }
}
